package com.doumi.biz.qadev.api.util;

import com.doumi.biz.qadev.api.bean.UserBaseInfo;

import java.util.Objects;

/**
 * Created by YDZ on 2019/10/23.
 */
public class RedisKeysUtils {
    public String getResumeListKey(UserBaseInfo userBaseInfo) {
        StringBuilder sb = new StringBuilder("wt");
        if(userBaseInfo.getCityId()!=0) {
            sb.append("_").append(userBaseInfo.getCityId());
        }
        if(Objects.nonNull(userBaseInfo.getCompanyId())&&userBaseInfo.getCompanyId()!=0) {
            sb.append("_").append(userBaseInfo.getCompanyId());
        }
//		if(Objects.nonNull(userBaseInfo.bUserId)&&userBaseInfo.bUserId!=0) {
//			sb.append("_").append(userBaseInfo.bUserId);
//		}
        if(Objects.nonNull(userBaseInfo.getJobTypeId())&&userBaseInfo.getJobTypeId()!=0) {
            sb.append("_").append(userBaseInfo.getCityId());
        }
        if(Objects.nonNull(userBaseInfo.getJobDataType())&&userBaseInfo.getJobDataType()!=0) {
            sb.append("_").append(userBaseInfo.getJobDataType());
        }
        if(userBaseInfo.getGender()!=0) {
            sb.append("_").append(userBaseInfo.getGender());
        }
        if(userBaseInfo.getIdentity()!=0) {
            sb.append("_").append(userBaseInfo.getIdentity());
        }
        if(userBaseInfo.getDegree()!=0) {
            sb.append("_").append(userBaseInfo.getDegree());
        }
        if(userBaseInfo.getAgeStart()==0) {
            userBaseInfo.setAgeStart(18);
        }
        sb.append("_").append(userBaseInfo.getAgeStart());
        if(userBaseInfo.getAgeEnd()==0) {
            userBaseInfo.setAgeEnd(55);;
        }
        sb.append("_").append(userBaseInfo.getAgeStart());
        if(userBaseInfo.getGender()!=0) {
            sb.append("_").append(userBaseInfo.getGender());
        }
        return sb.toString();
    }

    public String getBUsrIdListKey(UserBaseInfo userBaseInfo) {
        StringBuilder sb = new StringBuilder("wt_expoure_resume");
        if(Objects.nonNull(userBaseInfo.getCompanyId())&&userBaseInfo.getCompanyId()!=0) {
            sb.append("_").append(userBaseInfo.getCompanyId());
        }
        if(Objects.nonNull(userBaseInfo.getBUserId())&&userBaseInfo.getBUserId()!=0) {
            sb.append("_").append(userBaseInfo.getBUserId());
        }
        if(Objects.nonNull(userBaseInfo.getJobTypeId())&&userBaseInfo.getJobTypeId()!=0) {
            sb.append("_").append(userBaseInfo.getJobTypeId());
        }
        return sb.toString();
    }


    public String getPageKey(UserBaseInfo userBaseInfo) {
        StringBuilder sb = new StringBuilder("wt_es_page");
        if(userBaseInfo.getCityId()!=0) {
            sb.append("_").append(userBaseInfo.getCityId());
        }
        if(Objects.nonNull(userBaseInfo.getCompanyId())&&userBaseInfo.getCompanyId()!=0) {
            sb.append("_").append(userBaseInfo.getCompanyId());
        }
		if(Objects.nonNull(userBaseInfo.getBUserId())&&userBaseInfo.getBUserId()!=0) {
			sb.append("_").append(userBaseInfo.getBUserId());
		}
        if(Objects.nonNull(userBaseInfo.getJobTypeId())&&userBaseInfo.getJobTypeId()!=0) {
            sb.append("_").append(userBaseInfo.getJobTypeId());
        }
        if(Objects.nonNull(userBaseInfo.getJobDataType())&&userBaseInfo.getJobDataType()!=0) {
            sb.append("_").append(userBaseInfo.getJobDataType());
        }
        if(userBaseInfo.getGender()!=0) {
            sb.append("_").append(userBaseInfo.getGender());
        }
        if(userBaseInfo.getIdentity()!=0) {
            sb.append("_").append(userBaseInfo.getIdentity());
        }
        if(userBaseInfo.getDegree()!=1) {
            sb.append("_").append(userBaseInfo.getDegree());
        }
        if(userBaseInfo.getAgeStart()==0) {
            userBaseInfo.setAgeStart(18);
        }
        sb.append("_").append(userBaseInfo.getAgeStart());
        if(userBaseInfo.getAgeEnd()==0) {
            userBaseInfo.setAgeEnd(55);;
        }
        sb.append("_").append(userBaseInfo.getAgeEnd());
        if(userBaseInfo.getGender()!=0) {
            sb.append("_").append(userBaseInfo.getGender());
        }
        return sb.toString();
    }

    public String getHistoryKey(UserBaseInfo userBaseInfo) {
        //由company与jobTypeId拼写曝光历史key
        if(userBaseInfo.getCompanyId()!=0&&userBaseInfo.getJobTypeId()!=0){
            return "expoure_resume_"+userBaseInfo.getCompanyId()+"_"+userBaseInfo.getJobTypeId();
        }
        return null;
    }
}
